An object classifier is a technique used for detection and classification of any object (with or without motion) in an image or image patch (region of interest) in real-time. The conventional approach to build such classifier is illustrated in FIG. 1. FIG. 1 shows a plurality of car images (training samples) with various poses and view angles. The conventional method mainly consists of three stages. First, manually separate the training samples into a number of clusters to make sure the samples in each cluster have the same pose and viewing aspect. Second, train a classifier using training samples in each cluster, which can be used to detect objects with the same pose and view-aspect as those of the samples in the cluster. Third, combine all the classifiers obtained above into a final classifier, which can be used to detect objects with multi-pose and multi-view.
There are several shortcomings associated with this conventional approach. First, since the training data set is large, and is usually collected in uncontrolled environments, manually separating them into different clusters can become prohibitively expensive especially with the increase in object variability and the number of object classes. Second, due to the fundamental ambiguity in labeling different poses and viewing aspects, manual clustering is an error-prone procedure that may introduce significant bias into the training process.
Thus, this conventional approach is time-consuming and inherently ambiguous in both defining the categories and assigning samples to each category. So, a need exists in the art to provide for a relatively inexpensive, fast and efficient means for multi-view multi-pose object detection.